package com.cosmoplat.xikai.business.domain.dto.productPlan;

import com.cosmoplat.xikai.business.domain.BaseDeliveryInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.Date;

@ApiModel(value = "DispatchTask数据")
@Data
public class DispatchTaskDTO {
    private String  id;
    /**
     * 任务Id
     */
    @ApiModelProperty(value = "任务id", example = "TASKNO001")
    @NotBlank(message = "任务Id不能为空")
    private String taskId;
    /**
     * 任务号
     */
    @ApiModelProperty(value = "任务号", example = "TASKNO001")
    @NotBlank(message = "任务号不能为空")
    private String taskNo;
    /**
     * 工单工序id
     */
    @ApiModelProperty(value = "工单工序id", example = "TASKNO001")
    @NotBlank(message = "工单工序id不能为空")
    private String workOrderProcessId;
    /**
     * 工单号id
     */
    @ApiModelProperty(value = "工单号id", example = "TASKNO001")
    @NotBlank(message = "工单号id不能为空")
    private String workOrderNo;
    /**
     * 工作中心id
     */
    @ApiModelProperty(value = "工作中心id", example = "TASKNO001")
    @NotBlank(message = "工作中心Id不能为空")
    private String workCenterId;
    /**
     * 工作中心编号
     */
    @ApiModelProperty(value = "工作中心编号", example = "TASKNO001")
    @NotBlank(message = "工作中心编号不能为空")
    private String workCenterCode;
    /**
     * 工作中心名称
     */
    @ApiModelProperty(value = "工作中心名称", example = "TASKNO001")
    @NotBlank(message = "工作中心名称不能为空")
    private String workCenterName;
    /**
     * 工序id
     */
    @ApiModelProperty(value = "工序id", example = "TASKNO001")
    @NotBlank(message = "工序id不能为空")
    private String processId;
    /**
     * 工序编号
     */
    @ApiModelProperty(value = "工序编号", example = "TASKNO001")
    @NotBlank(message = "工序编号不能为空")
    private String processCode;
    /**
     * 工序名称
     */
    @ApiModelProperty(value = "工序名称", example = "TASKNO001")
    @NotBlank(message = "工序名称不能为空")
    private String processName;
    /**
     * 物料Id
     */
    @ApiModelProperty(value = "物料Id", example = "TASKNO001")
    @NotBlank(message = "物料Id不能为空")
    private String materialId;

    /**
     * 物料编号
     */
    @ApiModelProperty(value = "物料编号", example = "TASKNO001")
    @NotBlank(message = "物料编号不能为空")
    private String materialCode;

    /**
     * 物料名称
     */
    @ApiModelProperty(value = "物料名称", example = "TASKNO001")
    @NotBlank(message = "物料名称不能为空")
    private String materialName;

    /**
     * 物料型号
     */
    @ApiModelProperty(value = "物料型号", example = "TASKNO001")
    private String materialModel;
    /**
     * 计划投产时间
     */
    @ApiModelProperty(value = "计划投产时间", example = "TASKNO001")
    private Date planStartTime;
    /**
     * 计划产出时间
     */
    @ApiModelProperty(value = "计划产出时间", example = "TASKNO001")
    @NotBlank(message = "计划产出时间不能为空")
    private Date planEndTime;
    /**
     * 派工数量
     */
    @ApiModelProperty(value = "派工数量", example = "TASKNO001")
    @NotBlank(message = "派工数量")
    private String dispatchQty;

    /**
     * 任务状态
     */
    @ApiModelProperty(value = "任务状态", example = "TASKNO001")
    @NotBlank(message = "任务状态")
    private String taskStatus;
    private ArrayList<BaseDeliveryInfoDTO> deliveryInfo;


}
